5.0.2
- updated BASS library
- fixed Doppler effect calculations for 3d audio streams
- fixed sound glitches of 3d audio streams when playback starts or the camera mode changes
- fixed possible crashes when car/object/ped with attached 3d audio stream is deleted
- fixed CLEO sound artifacts when moving camera with mouse
- updated distance decay for 3d audio streams to match behavior of in-game sounds
- implemented proper support for 3d audio streams source size
- CLEO sounds volume is now affected by wide screen and fades in same way as in-game sounds
- updated "Audio_Demo" example script
- reverted muting 'music' type audio streams for game speeds other than default introduced in 5.0.1
- allow storing string result at static address (e.g.
get_name_of_vehicle_model 400 0xC16F98)
- fixed path resolution issues when the game is installed in symlink or RAM Disk directory
- fixed audio playback not working in SAMP
5.0.1
5.0.0
- support for CLEO modules feature https://github.com/sannybuilder/dev/issues/264
- new Audio plugin
- new DebugUtils plugin
- new opcode 00C3 (debug_on)
- new opcode 00C4 (debug_off)
- new opcode 2100 (breakpoint)
- new opcode 2101 (trace)
- new opcode 2102 (log_to_file)
- implemented support of opcodes 0662, 0663 and 0664 (original Rockstar's script debugging opcodes. See DebugUtils.ini)
- new FileSystemOperations plugin
- forbidden scripts from accessing and changing any files outside game root or game settings directory
- file related opcodes moved from CLEO core into separated plugin
- opcode 0A9E (write_to_file) now supports literal numbers and strings
- opcode 0AD7 (read_string_from_file) no longer includes new line character(s) at end of read string
- fixed bug causing file stream opcodes not working correctly when read-write modes are used
- fixed buffer overflows in file stream read opcodes
- added/fixed support of all file stream opcodes in legacy mode (Cleo3)
- new opcode 2300 (get_file_position)
- new opcode 2301 (read_block_from_file)
- new opcode 2302 (write_block_to_file)
- new opcode 2303 (resolve_filepath)
- new opcode 2304 (get_script_filename)
- new Math plugin
- new MemoryOperations plugin
- new Text plugin
- new and updated opcodes
- changes in file operations
- file paths can now use 'virtual absolute paths'. Use prefix in file path strings to access predefined locations:
root:\ for game root directory
user:\ for game save files directory
.\ for this script file directory
cleo:\ for CLEO directory
modules:\ for CLEO\cleo_modules directory
- rewritten opcode 0A99 (set_current_directory). Now it no longer affects internal game state or current directory in other scripts
- improved error handling
- more detailed error messages in multiple scenarios
- some errors now cause the script to pause, instead of crashing the game
- updated included Silent's ASI Loader to version 1.3
Bug Fixes
- fixed error in 004E (terminate_this_script) allowing to run multiple missions
- fixed handling of strings longer than 128 characters causing errors in some cases
- fixed error in handling of first string argument in 0AF5 (write_string to_ini_file)
- fixed resolution dependent aspect ratio of CLEO text in main menu
- fixed clearing mission locals when new CLEO mission is started
- when reading less than 4 bytes with 0A9D (readfile) now remaining bytes of the target variable are set to zero
- fixed invalid 7 characters length limit of 0AAA (get_script_struct_named)
- fixed an undefined behavior caused by 0459 (terminate_all_scripts_with_this_name) when the name matches a custom script
SDK and plugins
- now all opcodes in range 0-7FFF can be registered by plugins
- plugins moved to cleo\cleo_plugins directory
- new SDK methods:
- CLEO_GetVersionStr
- CLEO_RegisterCommand
- CLEO_RegisterCallback
- CLEO_GetVarArgCount
- CLEO_PeekIntOpcodeParam
- CLEO_PeekFloatOpcodeParam
- CLEO_PeekPointerToScriptVariable
- CLEO_SkipUnusedVarArgs
- CLEO_ReadParamsFormatted
- CLEO_ReadStringParamWriteBuffer
- CLEO_GetOpcodeParamsArray
- CLEO_GetParamsHandledCount
- CLEO_IsScriptRunning
- CLEO_TerminateScript
- CLEO_GetScriptVersion
- CLEO_SetScriptVersion
- CLEO_GetScriptInfoStr
- CLEO_GetScriptFilename
- CLEO_GetScriptWorkDir
- CLEO_SetScriptWorkDir
- CLEO_ResolvePath
- CLEO_ListDirectory
- CLEO_ListDirectoryFree
- CLEO_GetGameDirectory
- CLEO_GetUserDirectory
- CLEO_GetScriptByName
- CLEO_GetScriptByFilename
- CLEO_GetScriptDebugMode
- CLEO_SetScriptDebugMode
- CLEO_Log
CLEO internal
- introduced unit test scripts
- project migrated to VS 2022
- configured game debugging settings
- plugins moved into single solution
- configured automatic releases on GitHub
- added setup_env.bat script
Older
For previous changes, see CLEO4 changelog
Special Thanks
- 123nir for the v5.0.0-alpha testing, troubleshooting and valuable bug reports
- Hamal for the v5.0.0-beta testing, troubleshooting and valuable bug reports